package edu.pod.hoteishilton.control;

import edu.pod.hoteishilton.dao.IDAOHotel;
import edu.pod.hoteishilton.model.Hotel;
import java.rmi.RemoteException;
import java.util.HashMap;

public class HotelControl {

    protected static IDAOHotel daoHotel;

    public HotelControl(IDAOHotel dao) throws RemoteException {
        if (daoHotel == null) {
            daoHotel = dao;
        }
    }


    public void addHotel(Hotel h) throws RemoteException{
        
        //Qual sera a chave?? nao seria bom ter CPF?? ai procurariamos o Hospede pelo CPF dele...
        Hotel h2 = daoHotel.getHotel(h.getApelido());
        
        if(h2 == null){
            System.out.println("dados do Hotel\n" + h.getEndereco());
            daoHotel.persist(h);
            System.out.println("entrou no if");
        }
        else{
            System.out.println("entrou no else");
            h2.setEndereco(h.getEndereco());
            h2.setNomeGerente(h.getNomeGerente());
            h2.setTelefone(h.getTelefone());
            h2.setQuartos(h.getQuartos());
            h2.setReservas(h.getReservas());
            
            daoHotel.merge(h2);
        }
    }

    public HashMap getHoteis() throws RemoteException{
        return daoHotel.getHoteis();
    }

    public Hotel getHotel(String apelido) throws RemoteException {
        return daoHotel.getHotel(apelido);
    }

    public HashMap getReservas(String apelido) throws RemoteException{
        return daoHotel.getReservas(apelido);
    }

}
